#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <wait.h>

int main(void){
  pid_t pid;
  int i, n = 5;

  for(i=0; i<n; i++){
    pid = fork();
    int status;

    switch(pid){
      case -1: //fork error
        perror("fork error");
        printf("errno value= %d\n", errno);
        exit(-1);
      break;

      case 0: //proceso hijo
        printf("HIJO %d -> Proceso %d; Padre %d\n",i, getpid(),getppid());
      break;

      default:
        while(pid!= wait(&status));
          exit(EXIT_SUCCESS);
      break;
    }
  }


  return 0;
}
